package com.manning.readinglist_war;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ReadingListServletInitializer extends SpringBootServletInitializer {
    /**
     * configure() 方法传入了一个 SpringApplicationBuilder 参数，并将其作为结果返回。期间它调用 sources() 方法注册了一个 Spring 配置类。本例只注册了一个 Application 类。
     * 回想一下，这个类既是启动类（带有 main() 方法），也是一个 Spring 配置类。虽然阅读列表应用程序里还有其他 Spring 配置类，但没有必要在这里把它们全部注册进来。Application 类
     * 上添加了 @SpringBootApplication 注解。这会隐性开启组件扫描，而组件扫描则会发现并应用其他配置类。
     * @param builder
     * @return
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 指定 Spring 配置
        return builder.sources(ReadinglistWarApplication.class);
    }
}
